34 research outputs found
Expression-based aliasing for OO-languages
Alias analysis has been an interesting research topic in verification and
optimization of programs. The undecidability of determining whether two
expressions in a program may reference to the same object is the main source of
the challenges raised in alias analysis. In this paper we propose an extension
of a previously introduced alias calculus based on program expressions, to the
setting of unbounded program executions s.a. infinite loops and recursive
calls. Moreover, we devise a corresponding executable specification in the
K-framework. An important property of our extension is that, in a
non-concurrent setting, the corresponding alias expressions can be
over-approximated in terms of a notion of regular expressions. This further
enables us to show that the associated K-machinery implements an algorithm that
always stops and provides a sound over-approximation of the "may aliasing"
information, where soundness stands for the lack of false negatives. As a case
study, we analyze the integration and further applications of the alias
calculus in SCOOP. The latter is an object-oriented programming model for
concurrency, recently formalized in Maude; K-definitions can be compiled into
Maude for execution
Counterfactual Causality in Networks
In this abstract we propose a framework for explaining violations of safety
properties in Software Defined Networks, using counterfactual causal reasoning
DyNetKAT: An Algebra of Dynamic Networks
We introduce a formal language for specifying dynamic updates for Software
Defined Networks. Our language builds upon Network Kleene Algebra with Tests
(NetKAT) and adds constructs for synchronisations and multi-packet behaviour to
capture the interaction between the control- and data-plane in dynamic updates.
We provide a sound and ground-complete axiomatisation of our language. We
exploit the equational theory to provide an efficient reasoning method about
safety properties for dynamic networks. We implement our equational theory in
DyNetiKAT -- a tool prototype, based on the Maude Rewriting Logic and the
NetKAT tool, and apply it to a case study. We show that we can analyse the case
study for networks with hundreds of switches using our initial tool prototype
Explaining SDN Failures via Axiomatisations
This work introduces a concept of explanations with respect to the violation of safe behaviours within software defined networks (SDNs) expressible in NetKAT. The latter is a network programming language that is based on a well-studied mathematical structure, namely, Kleene Algebra with Tests (KAT). Amongst others, the mathematical foundation of NetKAT gave rise to a sound and complete equational theory. In our setting, a safe behaviour is characterised by a NetKAT policy which does not enable forwarding packets from ingress to an undesirable egress. Explanations for safety violations are derived in an equational fashion, based on a modification of the existing NetKAT axiomatisation.publishe